1. Field of the Invention
This invention relates to a signal processing system and method, and in particular to a hardware implementation of a neural network-based signal processing system and method.
2. Description of Related Art
Present approaches to data fusion, unlike the approach of the invention, are purely mathematical in nature. No apparatus currently exists which is specifically designed for data fusion. Instead, the common practice is to run traditional association techniques, such as the sub-optimal nearest neighbor technique or the optimal Munkres algorithm, on a conventional or parallel general purpose computer.
Association techniques can be applied to a large class of problems arising from real-world situations, including target tracking and telecommunications. The approach for solving this class of problems usually involves minimizing some quantity referred to as a cost. A cost may, for example, be related to the dissimilarity of objects to be associated, the energy required to perform a specific operation, the distance to be traveled, or money to be spent.
A typical association problem involves combining the information from two or more sources referring to the same set of objects. The association from one source of information about a particular object to another source of information about the same object is trivial if the two sources have no ambiguity about the objects. However, in many real-world situations, uncertainties in the information make the associations nontrivial. One such situation, illustrated in FIG. 1, is the situation where information about a given object from more than one sensor is combined. The information combination technique, called sensor fusion, produces information about an object by fusing information from several sources. The sensor fusion technique must unambiguously associate data from each sensor that corresponds to a given object.
FIG. 1 illustrates the situation where two sensors A and B are used to measure the position of several objects. Sensor A may, for example, have fine resolution in its range measurement and course resolution in its azimuth measurement while sensor B has poorer range resolution and better azimuth resolution. Assuming that the third report from sensor A indicates that there is an object at location A3 and the fifth report from sensor B indicates an object at location B5. Given the uncertainties in sensor A, the true position of the object described in the third report from sensor A (shown as a diamond) may be anywhere within the error ellipse labelled "A" in FIG. 1, while the location of the object described in the fifth report from sensor B can be anywhere within the error ellipse labeled B in the figure. If it were possible to note that the third report from sensor A refers to the same object as the fifth report from sensor B, then the range from sensor A combined with the azimuth from sensor B would provide more accurate information about that object than either sensor's data taken individually. If there is only one object in the vicinity and both sensors see only that object, the association of A3 to B5 is trivial, but the association process becomes nontrivial when there are several objects in the error ellipses or one sensor sees objects that the other misses. The solution then requires an association that considers the global effect of making associations which may not necessarily be the best local associations.
FIG. 2 illustrates the situation where the field of view includes two objects and it is known that each sensor detected only those two objects. In this case, one could use the distance between reports as the cost function to be minimized. At first glance, it appears that reports A3 and B5 would need to be associated with the same object, as in the first example, simply because they are closest and have the least cost of association. Unfortunately, the consequence of this decision is to require that report A4 be associated to B1, which has a large cost. If this were the decision, the sum of the large cost and the small cost would be greater than the sum of the costs if the associations A4 to B5 and A3 to B1 were chosen.
To take into account all of the necessary associations, the complexity of which increases rapidly with increasing numbers of objects, the decisions may be formed into an association matrix, as shown in FIG. 3. This matrix contains a measure of closeness, scaled from -1 to +1, of each report from sensor A relative to each report from sensor B. Sensor A reports are indexed by column and sensor B reports are indexed by row. In this case, row 1, column 3, by way of example, contains a measure of closeness based on some function of the inverse distance between the ports B1 and A3. The closeness measure is 1-(k)(d.sub.ij /d.sub.ave) for close reports and -1 for distant reports, where k is a positive constant, d.sub.ij is the distance between the ith report from sensor A to the jth report from sensor B, and d.sub.ave is the average of all the distances. If the two reports were at the same position, this entry be +1. If they were very far apart, the entry would be -1. In FIG. 3, the matrix entry is 0.2, indicating a possible but not excellent match.
To simplify the problem, the selection of a similarity measure may include thresholds so that reports that are too dissimilar (for example, when sensor A sees an object and sensor B does not), have entries of zero or less in the matrix, and the associations can be immediately disregarded.
An unequal number of reports from each sensor would result in a matrix that would not be square. If an entry of +1 in the matrix represents a match between reports sharing the same row and column, then the solution would result in a matrix with at most one +1 in each row, at most one +1 in each column, and all other entries equaling -1. As the size of the n.times.m matrix increases, the number of possible solutions containing at most one +1 in each row and column grows faster than N! where N is the minimum of m and n. It is clear that exhaustive searches are impractical for problems involving large matrices.
Several techniques have been devised to provide solutions where the total cost is very low (near optimal) or the lowest cost possible (optimal). For the most part, these traditional association techniques, designed to be run on conventional or parallel general purpose computers, either take too long to be practical, or produce answers that have unacceptable inaccuracies under certain conditions. In addition, the traditional techniques tend to force associations to happen even when it may be better to defer the decision until more information is available, i.e., allow some rows and columns of the association matrix to have all entries equal -1.